_m_o_d_e Specifies the rasterization mode. Three values are accepted:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR, GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT, and GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK. The initial value is
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee sets the rasterization mode. It takes one argument, _m_o_d_e,
which can assume one of three predefined values:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR Render mode. Primitives are rasterized, producing pixel
fragments, which are written into the frame buffer. This
is the normal mode and also the default mode.
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT Selection mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead, a
record of the names of primitives that would have been
drawn if the render mode had been GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR is returned
in a select buffer, which must be created (see
ggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr) before selection mode is entered.
GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK Feedback mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead,
the coordinates and attributes of vertices that would
have been drawn if the render mode had been GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR is
returned in a feedback buffer, which must be created (see
ggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr) before feedback mode is entered.
The return value of ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is determined by the render mode at the
time ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called, rather than by _m_o_d_e. The values returned
for the three render modes are as follows:
GGGGLLLL____RRRREEEENNNNDDDDEEEERRRR 0.
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT The number of hit records transferred to the select
buffer.
GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK The number of values (not vertices) transferred to the
feedback buffer.
See the ggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr and ggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr reference pages for more
details concerning selection and feedback operation.
If an error is generated, ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee returns 0 regardless of the
current render mode.
One particularly surprising error condition occurs when the selection or
feedback buffer is too large for the implementation to handle. The
problem might not be detected until ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is executed, because
buffer memory might not be allocated or locked down until that time. In
such a case, it is possible that the only indication of the error is that
ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee will return zero. Thus it is especially important to check
the return value.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _m_o_d_e is not one of the three accepted
values.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr is called while the
render mode is GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT, or if ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called with argument
GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT before ggggllllSSSSeeeelllleeeeccccttttBBBBuuuuffffffffeeeerrrr is called at least once.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr is called while the
render mode is GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK, or if ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is called with argument
GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK before ggggllllFFFFeeeeeeeeddddbbbbaaaacccckkkkBBBBuuuuffffffffeeeerrrr is called at least once.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllRRRReeeennnnddddeeeerrrrMMMMooooddddeeee is executed between the
execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.